Welcome to pandas!

2.8 表格选择之loc切片法-行选择

Loc切片法相当于直接法df[…]的长级版,功能比直接使用切片法更强大, 表示方法为df.loc[行切片][,列切片]]。在此基础上进行变化。

单行 :如果DataFrame表格的行索引是自然号,表示方法为df.loc[单个索引号]; 如果行索引是标签,表示方法是df.loc[“单个行索引标签”]。

连续多行 :如果DataFrame表格的行索引是自然号, 表示方法为df.loc[起始行索引号:终止行索引号],如果索引是标签, 表示方法为:df.loc[“起始行索引标签”:”终止行索引号标签”]

不连续多行 :将行索引对应的序号或标签写入到列表、数组、Series等数据结构中,序号或标签可以不按顺序排列

单号自然号 :返回的数据是一个Seriese数据


原数据:

import pandas as pd

path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"

df = pd.read_excel(path)

t=df

print(t) (t)

返回:

序号 姓名 姓别 1月 2月 3月
0 NED01 小王 87 79 37
1 NED02 小曾 55 27 48
2 NED03 小李 34 47 85
3 NED04 小张 67 85 59
4 NED05 小林 67 49 76

import pandas as pd

path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"

df = pd.read_excel(path)

t=df.loc[ 1 ]

print (t)

返回:

序号    NED02

姓名    小曾

姓别    女

1月     55

2月     27

3月     48

Name: 1, dtype: object


单号索引标签:返回的数据是一个Seriese数据

import pandas as pd

path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"

df = pd.read_excel(path, index_col =1)

t=df.loc[ "小曾" ]

print (t)

返回:

序号    NED02

姓别    女

1月     55

2月     27

3月     48

Name: 小曾, dtype: object


连续多行自然号:返回的数据是一个DataFrme数据

import pandas as pd

path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"

df = pd.read_excel(path)

t=df.loc[ 1:3 ] #行选择两边都是开的

print (t)

返回:

序号 姓名 姓别 1月 2月 3月
1 NED02 小曾 55 27 48
2 NED03 小李 34 47 85
3 NED04 小张 67 85 59

连续多行标签:返回的数据是一个DataFrme数据

import pandas as pd

path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"

df = pd.read_excel(path, index_col =1)

t=df.loc[ "小曾":"小张" ]

print (t)

返回:

序号 姓别 1月 2月 3月
姓名
小曾 NED02 55 27 48
小李 NED03 34 47 85
小张 NED04 67 85 59

不连续多行自然号:返回的数据是一个DataFrme数据

import pandas as pd

path = r "D:\Pyobject2023\object\测试\表格之切法.xlsx"

df = pd.read_excel(path)

t=df.loc[[ 0,2,4 ]] #可以不按顺序,可以手工调整顺序

print (t)

返回:

序号 姓名 姓别 1月 2月 3月
0 NED01 小王 87 79 37
2 NED03 小李 34 47 85
4 NED05 小林 67 49 76